package com.zre.dao;

import com.zre.model.vo.BookInfo;
import com.zre.model.po.BookTypeCodePo;
import com.zre.model.po.CategoryPo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

public interface BooklDao {
    /**
     * 添加书籍
     * @param bookInfo0
     * @return
     */
    int insertBook(BookInfo bookInfo0);
    /**
     * 添加书籍类型中间表信息
     * @param bookTypeCodePo
     * @return
     */
    int insertBookTypeCode(BookTypeCodePo bookTypeCodePo);
    /**
     * 查询所有书籍--使用join
     * @param bookType
     * @param ids
     * @return
     */
    List<BookInfo> queryByMultiConditions(@Param("bookType") String bookType, @Param("bookName") String bookName,
                                          @Param("ids") Set<Integer> ids, @Param("start") Integer start,
                                          @Param("end") Integer end);



      /**
     * 所有类型
     * @return
     */
    List<CategoryPo> queryBookType();


    /**
     * 查询某个类型下的图书id
     * @param typeCode
     * @return
     */
    Set<Integer> queryBookId(String typeCode);

    /**
     * 查询某个类型下的图书id
     * @param bookType  bookName
     * @return
     */

    Integer queryPageSize(@Param("bookType") String bookType, @Param("bookName") String bookName, @Param("ids") Set<Integer> ids);
}
